package leetcode_100;

import helpclass.ListNode;

/**
 *@author 周杨
 *MergekSortedLists_23 连接N个有序链表
 *describe:用递归 每次寻找最小值
 *2018年12月22日 下午5:48:46
 */
public class MergekSortedLists_23 {
	public ListNode mergeKLists(ListNode[] lists) {
        ListNode head;
        int min=Integer.MAX_VALUE;
        int index=-1;
        for(int i=0;i<lists.length;++i) {
        	if(lists[i]==null)
        		continue;
        	if(lists[i].val<min) {
        		min=lists[i].val;
        		index=i;
        	}
        }
        if(index==-1) return null;
        head=lists[index];
        lists[index]=head.next;
        head.next=mergeKLists(lists);
        return head;
    }
}
